<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组的实例方法</title>
</head>
<body>
    <!-- 
        ☆☆ 数组常见实例方法 -- 核心方法
            1、forEach（遍历数组）  filter（过滤数组）  map（迭代数组）  reduce（累计器）

            forEach：不返回数组，常用于查找遍历数组
            filter：返回新数组，返回的是筛选满足条件的数组元素
            map:返回新数组，返回的是处理之后的新数组
            reduce：返回累计后的结果，经常用于求和等
     -->

     <script>
        // rudece 的使用，返回累计后的的结果
        /*
            基本语法：
                arr.reduce(function(){})
                arr.reduce(function(上一次值，当前值){}，初始值)   
            注意：有初始值的时候我们会把初始加上，如果没有的话就只对数组中的元素进行累加     
        */

        const arr = [1,5,8]
        const total = arr.reduce(function(pre,cur){return pre + cur}) 

        // 箭头函数的写法
        const tol = arr.reduce((pre,cur)=> pre+cur,10)

        // 注意：如果是一个对象数组形式的相累加，那么第二参数必须要有
        const peopleArr = [
            {
                name:"张三",
                salary:1000
            },
            {
                name:'李四',
                salary:2000
            },
            {
                name:'王五',
                salary:3000
            }
        ]


        const sumSalary = peopleArr.reduce(function(pre,cur){
            return pre + cur.salary
        },0)  // 注意是对象数组形式的一定要有初始值参数
        console.log(sumSalary);



     </script>
</body>
</html>